Verify an Interchange PIN Using the Diebold Method

Command:

Verify a PIN from interchange using the Diebold method.

Notes:

The Diebold table must be stored in user storage before using this command.

 

Field

Length & Type

Details

COMMAND MESSAGE

Message header

m A

(Subsequently returned to the Host unchanged).

Command code

2 A

Value EG.

ZPK

16H or
1A+32H or 1A+48H

The ZPK under which the PIN block is encrypted; encrypted under LMK pair 06-07.

Index flag

1 A

Value K.

Table pointer

3 H

The value of the base location of the Diebold table in user storage.

Algorithm number

2 H

The number of the Diebold algorithm required.

PIN block

16 H

The PIN block encrypted under the ZPK.

PIN block format code

2 N

One of the valid format codes.

Account number

12 N

The 12 right-most digits of the account number, excluding the check digit.

Validation data

16 A

User-defined data consisting of hexadecimal characters and the character N, which indicates to the HSM where to insert the last 5 digits of the account number. The data must be right-justified and padded with F.

Offset

4 N

For a derived PIN this is 0000. Otherwise, an offset can be used.

End message delimiter

1 C

Optional. Must be present if a message trailer is present. Value X’19.

Message trailer

n A

Optional. Maximum length 32 characters.

RESPONSE MESSAGE

Message header

n A

Returned to the Host unchanged.

Response code

2 A

Value EH.

Error code

2 N

00 : No errors

01 : Verification failure

10 : ZPK parity error

12 : No keys loaded or no table in user storage

13 : LMK error; report to supervisor

15 : Error in input data

20 : PIN block error

21 : Invalid user storage index

23 : Invalid PIN block format code

24 : PIN is fewer than 4 or more than 12 digits

End message delimiter

1 C

Present only if present in the command message.  Value X’19.

Message trailer

n A

Present only if present in the command message. Maximum length 32 characters.